#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netinet/ip.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>

#include "proto.h"  

int main(void)
{
    int tcp_socket;
    struct sockaddr_in server_addr;
    struct msg_st buf;

    // 创建 TCP 套接字
    tcp_socket = socket(AF_INET, SOCK_STREAM, 0);
    if (-1 == tcp_socket) {
        perror("socket()");
        exit(1);
    }

    // 设置服务器地址
    server_addr.sin_family = AF_INET;
    server_addr.sin_port = htons(SERVER_PORT);
    inet_aton(SERVER_IP, &server_addr.sin_addr);

    // 连接到服务器
    if (-1 == connect(tcp_socket, (struct sockaddr *)&server_addr, sizeof(server_addr))) {
        perror("connect()");
        close(tcp_socket);
        exit(1);
    }

    // 接收服务器发送的数据
    if (read(tcp_socket, &buf, sizeof(buf)) < 0) {
        perror("read()");
        close(tcp_socket);
        exit(1);
    }

    printf("%s\n", buf.data);

    // 关闭套接字
    close(tcp_socket);

    return 0;
}
